--[[
描述：UIListView
作者 ： gengdy
时间：2015-5-5
]]

UIListView = Class(MLListView,'UIListView');

UIListView = MLListView;
UIListView.init = MLListView.initListView;


--[[
描述 ： 循环遍历解析Json的根节点 算出宽高以及XY轴
参数 ： jsonfile   -- json文件f
返回 ： cell 模板参数
]]
function UIListView.listMadeCell(jsonfile)
  local jsoninfo = MLFile.readFile('res/layout/'..jsonfile..'.layout');
  local layout = MLNative.json(jsoninfo);

  if layout == nil and layout.items == nil then return end     --如果为nil则结束

  local cell = {};
  cell.items = {}
  for i, v in ipairs(layout.items) do
    local listcell = MLListCell.new():init();
    listcell.id = v.id
    if v.width then
      listcell.width = AW(v.width);
    end
    if v.height then
      listcell.height = AW(v.height);
    end
    if v.color then
      listcell.color = tonumber(v.color);
    end
    if v.focusColor then
      listcell.focusColor =  tonumber(v.focusColor);
    end
    if v.image then
      listcell.image = v.image;
    end
    if v.focusImage then
      listcell.focusImage = v.focusImage;
    end
    if v.items and #v.items > 0 then
      local item = UIListView.listForCell(v);
      listcell.items = item ;
    end
    table.insert(cell.items,i,listcell)
    if i == #layout.items then
     -- print('zzzzzz#####cell ===',#cell.items)
      return MLNative.json(cell) ;
    end
  end
end
--[[
描述 ： 循环遍历解析Json的根节点 
参数 ： layout   -- json文件
返回 ： cell 单个模板
]]
function UIListView.listForCell(layout)
  local item = {};
  for i, v in ipairs(layout.items) do
   -- print('zzzzzzzzzzz=========',i, v.type )
    local aa ;
    if v.type == 'UIImageView' then
      aa =  MLListCellImage.new():init();
      aa.id = tonumber(v.id)
      if v.x then
        aa.x = AW(v.x);
      end
      if v.y then
        aa.y = AW(v.y);
      end
      if v.width then
        aa.width = AW(v.width);
      end
      if v.height then
        aa.height = AW(v.height);
      end
    elseif  v.type == 'UILabel' then
      aa = MLListCellLab.new():init();
      aa.id = tonumber(v.id)
      if v.x then
        aa.x = AW(v.x);
      end
      if v.y then
        aa.y = AW(v.y);
      end
      if v.width then
        aa.width = AW(v.width);
      end
      if v.height then
        aa.height = AW(v.height);
      end
      if v.fontHeight then
        aa.fontHeight = AW(v.fontHeight);
      end
      if v.fontColor then
        aa.fontColor = v.fontColor;
      end
      if v.fontFocusColor then
        aa.fontFocusColor = v.fontFocusColor;
      end
      if v.align then
        aa.align = tonumber(v.align);
      end

    elseif  v.type == 'UITextView' then
      aa = MLListCellText.new():init();
      aa.id = tonumber(v.id)
      if v.x then
        aa.x = AW(v.x);
      end
      if v.y then
        aa.y = AW(v.y);
      end
      if v.width then
        aa.width = AW(v.width);
      end
      if v.height then
        aa.height = AW(v.height);
      end
      if v.fontHeight then
        aa.fontHeight = AW(v.fontHeight);
      end
      if v.fontColor then
        aa.fontColor = v.fontColor;
      end
      if v.fontFocusColor then
        aa.fontFocusColor = v.fontFocusColor;
      end
    elseif  v.type == 'UIButton' then
      aa = MLListCellButton.new():init();
      aa.id = tonumber(v.id)
      if v.x then
        aa.x = AW(v.x);
      end
      if v.y then
        aa.y = AW(v.y);
      end
      if v.width then
        aa.width = AW(v.width);
      end
      if v.height then
        aa.height = AW(v.height);
      end
      if v.fontHeight then
        aa.fontHeight = AW(v.fontHeight);
      end
      if v.fontColor then
        aa.fontColor = v.fontColor;
      end
      if v.fontFocusColor then
        aa.fontFocusColor = v.fontFocusColor;
      end
      if v.image then
        aa.bgImage = v.image;
      end
      if v.focusImage then
        aa.focusImage = v.focusImage ;
      end
    else print('list模板含有不包含的控件无法解析')  
    end
    item[i] = aa;
   if i == #layout.items  then
      return item ;
   end
  end
end


